import telebot
from urllib import request
from colorama import init, Fore, Back, Style

init(autoreset=True)

TOKEN = 'ВАШ_ТОКЕН' #напишите тут свой токен

BAN = [] #тут Вы можете написать id людей, которых вы хотите заблокировать. Напирмер: BAN = [0000000000, 1234567890, 9999999999]

print (Fore.YELLOW + '''TC(Telegram-Console)✉️

By: https://t.me/edaAVXfI

Программа запущена!
''')

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=['start'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
        bot.send_message(message.chat.id, 'Бот работает!')

@bot.message_handler(commands=['help'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
        bot.send_message(message.chat.id, '''
Приветствую @'''+message.from_user.username+''' на полу-бот!

Код: https://notabug.org/Begabot/TelegramConsole
Автор кода: https://t.me/edaAVXfI.

Этот бот(далее как полу бот) предназначен для "непрямого" общения с людьми.

Как полу бот работает?
1. В @BotFather надо создать бота.
2. Копируете свой токен от своего бота.
3. Добавляем токен в коде в переменную TOKEN
4. Сохраняем и запускаем программу

Данный бот работает в приватных чатах, в группах и в супер-группах.

Как полу бот работает в приватных чатах?
1. Вы запускаете программу у себя на устройстве.
2. Человек, который пишет Вам, должен найти ваш полу бот.
3. Человек пишет вам сообщение.
4. Сообщение приходит в программу.
5. Вы пишите сообщение человеку.
6. Ваше сообщение приходит человеку.

Как полу бот работает в групповых и супер-групповых чатов?
1. Добавляете Вашего бота в чат.
2. Запускаете программу.
3. Программа работает.

Есть предложения?
Пишите мне:
Полу бот: @clkhiLtUyCls_bot
Мой аккаунт: @edaAVXfI

Подробное описание команд: /commands

''')

@bot.message_handler(commands=['stats'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
        bot.send_message(message.chat.id, 'Полу бот работает!✅')

@bot.message_handler(commands=['function'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
        bot.send_message(message.chat.id, '''Что умеет полу бот?
1. Получать и отправлять сообщения в личном чате
2. Получать и отправлять сообщения в групповые чаты
3. Получать и отправлять сообщения в супер-групповых чатах
4. Принимать контакты
5. Получать и отправлять документы
6. Получать и отправлять стикеры
7. Получать и отправлять аудио
8. Получать и отправлять видео
9. Получать и отправлять голосовые сообщения
10. Получать и отправлять фото
11. Принимать геопозицию
''')

@bot.message_handler(commands=['commands'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
        bot.send_message(message.chat.id, '''Команды:
/start - проверить работоспособность полу-бота
/help - помощь и подробная инструкция
/stats - статистика бота
/function - возможности полу бота
''')

@bot.message_handler(content_types=['text'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
        pass
    else:
    	if message.chat.type == 'private':
            print(Fore.GREEN+'id', message.from_user.id, Fore.CYAN+message.from_user.first_name+Fore.MAGENTA+'(приватно)'+Fore.YELLOW+' пишет: '+Fore.WHITE+message.text)
    	if message.chat.type == 'group':
            print(Fore.MAGENTA+'ГРУППА ('+Fore.GREEN+message.chat.title+Fore.MAGENTA+') |'+Fore.CYAN+message.from_user.first_name+Fore.YELLOW+' пишет: '+Fore.WHITE+message.text)
    	if message.chat.type == 'supergroup':
            print(Fore.MAGENTA+'СУПЕР-ГРУППА ('+Fore.GREEN+message.chat.title+Fore.MAGENTA+') |'+Fore.CYAN+message.from_user.first_name+Fore.YELLOW+' пишет: '+Fore.WHITE+message.text)
    otvet = input('Ответить '+message.from_user.first_name+': ')
    if otvet == '!send_sticker':
        sticker = input('Введите название стикера(с .формат_файла): ')
        put = ('Send/stickers/'+sticker)
        stick = open(put, 'rb')
        bot.send_document(message.chat.id, stick)
        stick.close()
        print (Fore.GREEN+'Стикер отправлен!')
    elif otvet == '!send_document':
        document = input('Введите название документа(с .формат_файла): ')
        put = ('Send/documents/'+document)
        doc = open(put, 'rb')
        bot.send_document(message.chat.id, doc)
        doc.close()
        print (Fore.GREEN+'Документ отправлен!')
    elif otvet == '!send_photo':
        photo = input('Введите название фото(с .формат_файла): ')
        put = ('Send/photos/'+photo)
        ph = open(put, 'rb')
        bot.send_photo(message.chat.id, ph)
        ph.close()
        print (Fore.GREEN+'Фото отправлено!')
    elif otvet == '!send_audio':
        audio = input('Введите название аудио(с .формат_файла): ')
        put = ('Send/music/'+audio)
        au = open(put, 'rb')
        bot.send_audio(message.chat.id, au)
        au.close()
        print (Fore.GREEN+'Аудио отправлено!')
    elif otvet == '!send_video':
        video = input('Введите название аудио(с .формат_файла): ')
        put = ('Send/videos/'+video)
        vi = open(put, 'rb')
        bot.send_video(message.chat.id, vi)
        vi.close()
        print (Fore.GREEN+'Видео отправлено!')
    elif otvet == '!send_voice':
        voice = input('Введите название голосового сообщения(с .формат_файла): ')
        put = ('Send/voice/'+voice)
        vo = open(put, 'rb')
        bot.send_voice(message.chat.id, vo)
        vo.close()
        print (Fore.GREEN+'Голосовое сообшение отправлено!')
    else:
    	bot.send_message(message.chat.id, otvet)

@bot.message_handler(content_types=['document'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
    	document_id = message.document.file_id
    	file_info = bot.get_file(document_id)
    	myURL = ('http://api.telegram.org/file/bot'+TOKEN+'/'+file_info.file_path)
    	myFile = ('Files/documents/'+message.document.file_name)
    	request.urlretrieve(myURL, myFile)
    	print (Fore.RED+message.from_user.first_name+' отправил вам документ!')
    	print (Fore.YELLOW+'Путь: '+myFile)
    	if message.chat.type == 'private':
            bot.send_message(message.chat.id, 'Документ принят!✅')
    	else:
            pass

@bot.message_handler(content_types=['photo'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
    	photo_id = message.photo[-1].file_id
    	file_info = bot.get_file(photo_id)
    	path = file_info.file_path
    	myURL = ('http://api.telegram.org/file/bot'+TOKEN+'/'+file_info.file_path)
    	myFile = ('Files/'+path)
    	request.urlretrieve(myURL, myFile)
    	print (Fore.RED+message.from_user.first_name+' отправил вам фото!')
    	print (Fore.YELLOW+'Путь: '+myFile)
    	if message.chat.type == 'private':
            bot.send_message(message.chat.id, 'Фото принято!✅')
    	else:
            pass

@bot.message_handler(content_types=['audio'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
    	audio_id = message.audio.file_id
    	file_info = bot.get_file(audio_id)
    	myURL = ('http://api.telegram.org/file/bot'+TOKEN+'/'+file_info.file_path)
    	myFile = ('Files/'+file_info.file_path)
    	request.urlretrieve(myURL, myFile)
    	print (Fore.RED+message.from_user.first_name+' отправил вам аудио!')
    	print (Fore.YELLOW+'Путь: '+myFile)
    	if message.chat.type == 'private':
            bot.send_message(message.chat.id, 'Аудио принято!✅')
    	else:
            pass

@bot.message_handler(content_types=['video'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
    	video_id = message.video.file_id
    	file_info = bot.get_file(video_id)
    	myURL = ('http://api.telegram.org/file/bot'+TOKEN+'/'+file_info.file_path)
    	myFile = ('Files/'+file_info.file_path)
    	request.urlretrieve(myURL, myFile)
    	print(Fore.RED+message.from_user.first_name+' отправил вам видео!')
    	print (Fore.YELLOW+'Путь: '+myFile)
    	if message.chat.type == 'private':
       	    bot.send_message(message.chat.id, 'Видео принято!✅')
    	else:
            pass

@bot.message_handler(content_types=['sticker'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
    	sticker_id = message.sticker.file_id
    	file_info = bot.get_file(sticker_id)
    	myURL = ('http://api.telegram.org/file/bot'+TOKEN+'/'+file_info.file_path)
    	myFile = ('Files/'+file_info.file_path)
    	request.urlretrieve(myURL, myFile)
    	print(Fore.RED+message.from_user.first_name+' отправил вам стикер!')
    	print (Fore.YELLOW+'Путь: '+myFile)
    	if message.chat.type == 'private':
            bot.send_message(message.chat.id, 'Стикер принят!✅')
    	else:
            pass

@bot.message_handler(content_types=['contact'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
    	print(message.from_user.first_name+' отправил вам контакт!')
    	if message.chat.type == 'private':
            bot.send_message(message.chat.id, 'Контакт принят!')
    	else:
            pass
    	print(Fore.YELLOW+'Контакт:')
    	print(Fore.YELLOW+'Имя: '+message.contact.first_name)
    	print(Fore.YELLOW+'Номер: '+message.contact.phone_number)

@bot.message_handler(content_types=['location'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
    	latitude = str(message.location.latitude)
    	longitude = str(message.location.longitude)
    	print (message.from_user.first_name+' отправил вам геолокацию!')
    	print (Fore.YELLOW+'Локация:')
    	print (Fore.YELLOW+'Долгота: '+latitude)
    	print (Fore.YELLOW+'Широта: '+longitude)
    	if message.chat.type == 'private':
            bot.send_message(message.chat.id, 'Геолокация принята!✅')
    	else:
            pass

@bot.message_handler(content_types=['voice'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
    	voice_id = message.voice.file_id
    	file_info = bot.get_file(voice_id)
    	myURL = ('http://api.telegram.org/file/bot'+TOKEN+'/'+file_info.file_path)
    	myFile = ('Files/'+file_info.file_path)
    	request.urlretrieve(myURL, myFile)
    	print(Fore.RED+message.from_user.first_name+' отправил вам голосовое сообщение!')
    	print (Fore.YELLOW+'Путь: '+myFile)
    	if message.chat.type == 'private':
            bot.send_message(message.chat.id, 'Голосовое сообщение принято!✅')
    	else:
            pass

@bot.message_handler(content_types=['video_note'])
def start_message(message):
    if message.from_user.id in BAN:
        bot.send_message(message.chat.id, 'Доступ к боту заблокирован!')
    else:
    	videonote_id = message.video_note.file_id
    	file_info = bot.get_file(videonote_id)
    	myURL = ('http://api.telegram.org/file/bot'+TOKEN+'/'+file_info.file_path)
    	myFile = ('Files/'+file_info.file_path)
    	request.urlretrieve(myURL, myFile)
        print(Fore.RED+message.from_user.first_name+' отправил вам видео-историю!')
    	print ('Путь: '+myFile)
    	if message.chat.type == 'private':
            bot.send_message(message.chat.id, 'Видеозапись принята!✅')
    	else:
            pass

bot.polling()